[INFO] fetching crate claudette 0.14.0...
[INFO] fixing claudette-0.14.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate claudette 0.14.0 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate claudette 0.14.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate claudette 0.14.0
[INFO] tweaked toml for crates.io crate claudette 0.14.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate claudette 0.14.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate claudette 0.14.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 626c8034967250ff3d3043cdc81f650fd6cbbe71159ffa024d3abbfc7b899991
[INFO] running `Command { std: "docker" "start" "626c8034967250ff3d3043cdc81f650fd6cbbe71159ffa024d3abbfc7b899991", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "626c8034967250ff3d3043cdc81f650fd6cbbe71159ffa024d3abbfc7b899991" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "626c8034967250ff3d3043cdc81f650fd6cbbe71159ffa024d3abbfc7b899991", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "626c8034967250ff3d3043cdc81f650fd6cbbe71159ffa024d3abbfc7b899991" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]     Checking hashbrown v0.17.0
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]    Compiling rustls v0.23.38
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]     Checking compact_str v0.9.0
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]     Checking webpki-roots v1.0.7
[INFO] [stderr]     Checking line-clipping v0.3.7
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking winnow v1.0.2
[INFO] [stderr]     Checking unicase v2.9.0
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking lru v0.18.0
[INFO] [stderr]     Checking iri-string v0.7.12
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking serde_json v1.0.150
[INFO] [stderr]     Checking hashlink v0.11.0
[INFO] [stderr]     Checking toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking tokio v1.52.1
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking dotenvy v0.15.7
[INFO] [stderr]     Checking glob v0.3.3
[INFO] [stderr]     Checking colored v3.1.1
[INFO] [stderr]     Checking toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libsqlite3-sys v0.37.0
[INFO] [stderr]     Checking unicode-truncate v2.0.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking globset v0.4.18
[INFO] [stderr]     Checking regex v1.12.4
[INFO] [stderr]     Checking ignore v0.4.26
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking zerofrom v0.1.7
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]     Checking kasuari v0.4.12
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking strum v0.28.0
[INFO] [stderr]     Checking ratatui-core v0.1.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking ratatui-widgets v0.3.1
[INFO] [stderr]     Checking ratatui-crossterm v0.1.1
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking cron v0.16.0
[INFO] [stderr]     Checking ratatui v0.30.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking rusqlite v0.39.0
[INFO] [stderr]     Checking claudette v0.14.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/tui_worker.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/api.rs:530:11
[INFO] [stdout]      |
[INFO] [stdout]  515 |     let client = reqwest::blocking::Client::builder()
[INFO] [stdout]      |         ------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `client` calls a custom destructor
[INFO] [stdout]      |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  530 |     match client.get(&probe_url).send() {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  553 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.28/src/blocking/client.rs:1343:1
[INFO] [stdout]      |
[INFO] [stdout] 1343 | impl Drop for InnerClientHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.28/src/blocking/client.rs:1343:1
[INFO] [stdout]      |
[INFO] [stdout] 1343 | impl Drop for InnerClientHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/firstrun.rs:79:11
[INFO] [stdout]      |
[INFO] [stdout]   68 |     let Ok(client) = reqwest::blocking::Client::builder()
[INFO] [stdout]      |            ------
[INFO] [stdout]      |            |
[INFO] [stdout]      |            `client` calls a custom destructor
[INFO] [stdout]      |            `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   79 |     match client.get(&tags_url).send() {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   89 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.28/src/blocking/client.rs:1343:1
[INFO] [stdout]      |
[INFO] [stdout] 1343 | impl Drop for InnerClientHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.28/src/blocking/client.rs:1343:1
[INFO] [stdout]      |
[INFO] [stdout] 1343 | impl Drop for InnerClientHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/run.rs:1973:29
[INFO] [stdout]      |
[INFO] [stdout] 1808 |             let mut err = stderr.lock();
[INFO] [stdout]      |                 -------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `err` calls a custom destructor
[INFO] [stdout]      |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1843 |             let mut err = stderr.lock();
[INFO] [stdout]      |                 -------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1973 |             if let Err(e) = save_session(runtime.session()) {
[INFO] [stdout]      |                        -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                        |    |
[INFO] [stdout]      |                        |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        `e` calls a custom destructor
[INFO] [stdout]      |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1982 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/reentrant_lock.rs:420:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/reentrant_lock.rs:420:0
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/telegram_mode.rs:390:33
[INFO] [stdout]      |
[INFO] [stdout]  212 |       let mut runtime = build_runtime_streaming(session, true);
[INFO] [stdout]      |           -----------
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `runtime` calls a custom destructor
[INFO] [stdout]      |           `runtime` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  390 |                   if let Err(e) = save_session(runtime.session()) {
[INFO] [stdout]      |                              -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                              |    |
[INFO] [stdout]      |                              |    this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                              |    up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              `e` calls a custom destructor
[INFO] [stdout]      |                              `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  397 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  459 |                               let _ = send_message(
[INFO] [stdout]      |  _____________________________________-
[INFO] [stdout]  460 | |                                 &http,
[INFO] [stdout]  461 | |                                 &base_url,
[INFO] [stdout]  462 | |                                 chat_id,
[INFO] [stdout]  463 | |                                 &format!("Sorry, I couldn't transcribe your voice message: {e}"),
[INFO] [stdout]  464 | |                             );
[INFO] [stdout]      | |                             -
[INFO] [stdout]      | |                             |
[INFO] [stdout]      | |_____________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  505 |                                   let _ = save_session(runtime.session());
[INFO] [stdout]      |                                           -------------------------------
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  569 |                           let _ = send_message(&http, &base_url, chat_id, &msg);
[INFO] [stdout]      |                                   ---------------------------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  637 |                                   if let Err(e) = send_message(&http, &base_url, chat_id, chunk) {
[INFO] [stdout]      |                                              -
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  687 |                           if let Err(e) = save_session(runtime.session()) {
[INFO] [stdout]      |                                      -    -------------------------------
[INFO] [stdout]      |                                      |    |
[INFO] [stdout]      |                                      |    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                      |    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                      `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  719 |                           let _ = send_message(
[INFO] [stdout]      |  _________________________________-
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]  720 | |                             &http,
[INFO] [stdout]  721 | |                             &base_url,
[INFO] [stdout]  722 | |                             chat_id,
[INFO] [stdout]  723 | |                             &format!("Sorry, I encountered an error: {e}"),
[INFO] [stdout]  724 | |                         );
[INFO] [stdout]      | |                         -
[INFO] [stdout]      | |_________________________|
[INFO] [stdout]      | |_________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                           `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `runtime` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.28/src/blocking/client.rs:1343:1
[INFO] [stdout]      |
[INFO] [stdout] 1343 | impl Drop for InnerClientHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/telegram_mode.rs:637:49
[INFO] [stdout]      |
[INFO] [stdout]  212 |       let mut runtime = build_runtime_streaming(session, true);
[INFO] [stdout]      |           -----------
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `runtime` calls a custom destructor
[INFO] [stdout]      |           `runtime` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  390 |                   if let Err(e) = save_session(runtime.session()) {
[INFO] [stdout]      |                              -
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              `e` calls a custom destructor
[INFO] [stdout]      |                              `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  459 |                               let _ = send_message(
[INFO] [stdout]      |  _____________________________________-
[INFO] [stdout]  460 | |                                 &http,
[INFO] [stdout]  461 | |                                 &base_url,
[INFO] [stdout]  462 | |                                 chat_id,
[INFO] [stdout]  463 | |                                 &format!("Sorry, I couldn't transcribe your voice message: {e}"),
[INFO] [stdout]  464 | |                             );
[INFO] [stdout]      | |                             -
[INFO] [stdout]      | |                             |
[INFO] [stdout]      | |_____________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  505 |                                   let _ = save_session(runtime.session());
[INFO] [stdout]      |                                           -------------------------------
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  569 |                           let _ = send_message(&http, &base_url, chat_id, &msg);
[INFO] [stdout]      |                                   ---------------------------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  637 |                                   if let Err(e) = send_message(&http, &base_url, chat_id, chunk) {
[INFO] [stdout]      |                                              -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                              |    |
[INFO] [stdout]      |                                              |    this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                                              |    up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  644 |                               }
[INFO] [stdout]      |                               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  687 |                           if let Err(e) = save_session(runtime.session()) {
[INFO] [stdout]      |                                      -    -------------------------------
[INFO] [stdout]      |                                      |    |
[INFO] [stdout]      |                                      |    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                      |    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                      `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  719 |                           let _ = send_message(
[INFO] [stdout]      |  _________________________________-
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]  720 | |                             &http,
[INFO] [stdout]  721 | |                             &base_url,
[INFO] [stdout]  722 | |                             chat_id,
[INFO] [stdout]  723 | |                             &format!("Sorry, I encountered an error: {e}"),
[INFO] [stdout]  724 | |                         );
[INFO] [stdout]      | |                         -
[INFO] [stdout]      | |_________________________|
[INFO] [stdout]      | |_________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                           `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `runtime` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.28/src/blocking/client.rs:1343:1
[INFO] [stdout]      |
[INFO] [stdout] 1343 | impl Drop for InnerClientHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/telegram_mode.rs:775:37
[INFO] [stdout]     |
[INFO] [stdout] 775 |                     if let Err(e) = send_message(http, base_url, chat_id, &chunk) {
[INFO] [stdout]     |                                -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |    |
[INFO] [stdout]     |                                |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                `e` calls a custom destructor
[INFO] [stdout]     |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 782 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/telegram_mode.rs:879:41
[INFO] [stdout]     |
[INFO] [stdout] 865 |         let snapshot = match buffer.lock() {
[INFO] [stdout]     |                              -------------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                              `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 866 |             Ok(guard) => guard.clone(),
[INFO] [stdout]     |                -----
[INFO] [stdout]     |                |
[INFO] [stdout]     |                `guard` calls a custom destructor
[INFO] [stdout]     |                `guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 879 |                         if let Err(e) = send_message(&http, &base_url, chat_id, chunk) {
[INFO] [stdout]     |                                    -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                    |    |
[INFO] [stdout]     |                                    |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                    |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    `e` calls a custom destructor
[INFO] [stdout]     |                                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 886 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/telegram_mode.rs:901:41
[INFO] [stdout]     |
[INFO] [stdout] 901 |                         if let Err(e) = send_message(&http, &base_url, chat_id, chunk) {
[INFO] [stdout]     |                                    -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                    |    |
[INFO] [stdout]     |                                    |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                    |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    `e` calls a custom destructor
[INFO] [stdout]     |                                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 908 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tui.rs:742:19
[INFO] [stdout]     |
[INFO] [stdout] 742 |             match tui_rx.try_recv() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 747 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 832 |                                 if let Some(p) = app.permission_prompt.take() {
[INFO] [stdout]     |                                             -
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `p` calls a custom destructor
[INFO] [stdout]     |                                             `p` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 843 |                                 if let Some(p) = app.permission_prompt.take() {
[INFO] [stdout]     |                                             -
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tui.rs:832:50
[INFO] [stdout]     |
[INFO] [stdout] 832 | ...                       if let Some(p) = app.permission_prompt.take() {
[INFO] [stdout]     |                                       -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                       |    |
[INFO] [stdout]     |                                       |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                       |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                       `p` calls a custom destructor
[INFO] [stdout]     |                                       `p` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 835 | ...                   }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 843 | ...                       if let Some(p) = app.permission_prompt.take() {
[INFO] [stdout]     |                                       -
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tui.rs:843:50
[INFO] [stdout]     |
[INFO] [stdout] 832 | ...                       if let Some(p) = app.permission_prompt.take() {
[INFO] [stdout]     |                                       -
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `p` calls a custom destructor
[INFO] [stdout]     |                                       `p` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 843 | ...                       if let Some(p) = app.permission_prompt.take() {
[INFO] [stdout]     |                                       -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                       |    |
[INFO] [stdout]     |                                       |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                       |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 846 | ...                   }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/tts.rs (2 fixes)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/tools/search.rs (4 fixes)
[INFO] [stderr]        Fixed src/prompt.rs (7 fixes)
[INFO] [stderr]        Fixed src/missions.rs (8 fixes)
[INFO] [stderr]        Fixed src/egress.rs (15 fixes)
[INFO] [stderr]        Fixed src/runtime/prompt.rs (6 fixes)
[INFO] [stderr]        Fixed src/voice.rs (3 fixes)
[INFO] [stderr]        Fixed src/lib.rs (3 fixes)
[INFO] [stderr]        Fixed src/transcript.rs (6 fixes)
[INFO] [stderr]        Fixed src/api.rs (14 fixes)
[INFO] [stderr]        Fixed src/tools.rs (31 fixes)
[INFO] [stderr]        Fixed src/forge/models_toml.rs (6 fixes)
[INFO] [stderr]        Fixed src/tools/file_ops.rs (7 fixes)
[INFO] [stderr]        Fixed src/secrets.rs (6 fixes)
[INFO] [stderr]        Fixed src/run.rs (39 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/api.rs:530:11
[INFO] [stdout]      |
[INFO] [stdout]  515 |     let client = reqwest::blocking::Client::builder()
[INFO] [stdout]      |         ------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `client` calls a custom destructor
[INFO] [stdout]      |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  530 |     match client.get(&probe_url).send() {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  553 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.28/src/blocking/client.rs:1343:1
[INFO] [stdout]      |
[INFO] [stdout] 1343 | impl Drop for InnerClientHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.28/src/blocking/client.rs:1343:1
[INFO] [stdout]      |
[INFO] [stdout] 1343 | impl Drop for InnerClientHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/firstrun.rs:79:11
[INFO] [stdout]      |
[INFO] [stdout]   68 |     let Ok(client) = reqwest::blocking::Client::builder()
[INFO] [stdout]      |            ------
[INFO] [stdout]      |            |
[INFO] [stdout]      |            `client` calls a custom destructor
[INFO] [stdout]      |            `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   79 |     match client.get(&tags_url).send() {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   89 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.28/src/blocking/client.rs:1343:1
[INFO] [stdout]      |
[INFO] [stdout] 1343 | impl Drop for InnerClientHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.28/src/blocking/client.rs:1343:1
[INFO] [stdout]      |
[INFO] [stdout] 1343 | impl Drop for InnerClientHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/run.rs:1973:29
[INFO] [stdout]      |
[INFO] [stdout] 1808 |             let mut err = stderr.lock();
[INFO] [stdout]      |                 -------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `err` calls a custom destructor
[INFO] [stdout]      |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1843 |             let mut err = stderr.lock();
[INFO] [stdout]      |                 -------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1973 |             if let Err(e) = save_session(runtime.session()) {
[INFO] [stdout]      |                        -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                        |    |
[INFO] [stdout]      |                        |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        `e` calls a custom destructor
[INFO] [stdout]      |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1982 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/reentrant_lock.rs:420:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/reentrant_lock.rs:420:0
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/telegram_mode.rs:390:33
[INFO] [stdout]      |
[INFO] [stdout]  212 |       let mut runtime = build_runtime_streaming(session, true);
[INFO] [stdout]      |           -----------
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `runtime` calls a custom destructor
[INFO] [stdout]      |           `runtime` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  390 |                   if let Err(e) = save_session(runtime.session()) {
[INFO] [stdout]      |                              -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                              |    |
[INFO] [stdout]      |                              |    this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                              |    up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                              `e` calls a custom destructor
[INFO] [stdout]      |                              `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  397 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  459 |                               let _ = send_message(
[INFO] [stdout]      |  _____________________________________-
[INFO] [stdout]  460 | |                                 &http,
[INFO] [stdout]  461 | |                                 &base_url,
[INFO] [stdout]  462 | |                                 chat_id,
[INFO] [stdout]  463 | |                                 &format!("Sorry, I couldn't transcribe your voice message: {e}"),
[INFO] [stdout]  464 | |                             );
[INFO] [stdout]      | |                             -
[INFO] [stdout]      | |                             |
[INFO] [stdout]      | |_____________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  505 |                                   let _ = save_session(runtime.session());
[INFO] [stdout]      |                                           -------------------------------
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  569 |                           let _ = send_message(&http, &base_url, chat_id, &msg);
[INFO] [stdout]      |                                   ---------------------------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  637 |                                   if let Err(e) = send_message(&http, &base_url, chat_id, chunk) {
[INFO] [stdout]      |                                              -
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  687 |                           if let Err(e) = save_session(runtime.session()) {
[INFO] [stdout]      |                                      -    -------------------------------
[INFO] [stdout]      |                                      |    |
[INFO] [stdout]      |                                      |    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                      |    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                      `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  719 |                           let _ = send_message(
[INFO] [stdout]      |  _________________________________-
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]  720 | |                             &http,
[INFO] [stdout]  721 | |                             &base_url,
[INFO] [stdout]  722 | |                             chat_id,
[INFO] [stdout]  723 | |                             &format!("Sorry, I encountered an error: {e}"),
[INFO] [stdout]  724 | |                         );
[INFO] [stdout]      | |                         -
[INFO] [stdout]      | |_________________________|
[INFO] [stdout]      | |_________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                           `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `runtime` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.28/src/blocking/client.rs:1343:1
[INFO] [stdout]      |
[INFO] [stdout] 1343 | impl Drop for InnerClientHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/telegram_mode.rs:637:49
[INFO] [stdout]      |
[INFO] [stdout]  212 |       let mut runtime = build_runtime_streaming(session, true);
[INFO] [stdout]      |           -----------
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `runtime` calls a custom destructor
[INFO] [stdout]      |           `runtime` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  390 |                   if let Err(e) = save_session(runtime.session()) {
[INFO] [stdout]      |                              -
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              `e` calls a custom destructor
[INFO] [stdout]      |                              `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  459 |                               let _ = send_message(
[INFO] [stdout]      |  _____________________________________-
[INFO] [stdout]  460 | |                                 &http,
[INFO] [stdout]  461 | |                                 &base_url,
[INFO] [stdout]  462 | |                                 chat_id,
[INFO] [stdout]  463 | |                                 &format!("Sorry, I couldn't transcribe your voice message: {e}"),
[INFO] [stdout]  464 | |                             );
[INFO] [stdout]      | |                             -
[INFO] [stdout]      | |                             |
[INFO] [stdout]      | |_____________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  505 |                                   let _ = save_session(runtime.session());
[INFO] [stdout]      |                                           -------------------------------
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  569 |                           let _ = send_message(&http, &base_url, chat_id, &msg);
[INFO] [stdout]      |                                   ---------------------------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  637 |                                   if let Err(e) = send_message(&http, &base_url, chat_id, chunk) {
[INFO] [stdout]      |                                              -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                              |    |
[INFO] [stdout]      |                                              |    this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                                              |    up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  644 |                               }
[INFO] [stdout]      |                               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  687 |                           if let Err(e) = save_session(runtime.session()) {
[INFO] [stdout]      |                                      -    -------------------------------
[INFO] [stdout]      |                                      |    |
[INFO] [stdout]      |                                      |    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                      |    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                      `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  719 |                           let _ = send_message(
[INFO] [stdout]      |  _________________________________-
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]  720 | |                             &http,
[INFO] [stdout]  721 | |                             &base_url,
[INFO] [stdout]  722 | |                             chat_id,
[INFO] [stdout]  723 | |                             &format!("Sorry, I encountered an error: {e}"),
[INFO] [stdout]  724 | |                         );
[INFO] [stdout]      | |                         -
[INFO] [stdout]      | |_________________________|
[INFO] [stdout]      | |_________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                           `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `runtime` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `runtime` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/reqwest-0.12.28/src/blocking/client.rs:1343:1
[INFO] [stdout]      |
[INFO] [stdout] 1343 | impl Drop for InnerClientHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/telegram_mode.rs:775:37
[INFO] [stdout]     |
[INFO] [stdout] 775 |                     if let Err(e) = send_message(http, base_url, chat_id, &chunk) {
[INFO] [stdout]     |                                -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |    |
[INFO] [stdout]     |                                |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                `e` calls a custom destructor
[INFO] [stdout]     |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 782 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/telegram_mode.rs:879:41
[INFO] [stdout]     |
[INFO] [stdout] 865 |         let snapshot = match buffer.lock() {
[INFO] [stdout]     |                              -------------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                              `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 866 |             Ok(guard) => guard.clone(),
[INFO] [stdout]     |                -----
[INFO] [stdout]     |                |
[INFO] [stdout]     |                `guard` calls a custom destructor
[INFO] [stdout]     |                `guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 879 |                         if let Err(e) = send_message(&http, &base_url, chat_id, chunk) {
[INFO] [stdout]     |                                    -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                    |    |
[INFO] [stdout]     |                                    |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                    |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    `e` calls a custom destructor
[INFO] [stdout]     |                                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 886 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `guard` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/telegram_mode.rs:901:41
[INFO] [stdout]     |
[INFO] [stdout] 901 |                         if let Err(e) = send_message(&http, &base_url, chat_id, chunk) {
[INFO] [stdout]     |                                    -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                    |    |
[INFO] [stdout]     |                                    |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                    |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    `e` calls a custom destructor
[INFO] [stdout]     |                                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 908 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tui.rs:742:19
[INFO] [stdout]     |
[INFO] [stdout] 742 |             match tui_rx.try_recv() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 747 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 832 |                                 if let Some(p) = app.permission_prompt.take() {
[INFO] [stdout]     |                                             -
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `p` calls a custom destructor
[INFO] [stdout]     |                                             `p` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 843 |                                 if let Some(p) = app.permission_prompt.take() {
[INFO] [stdout]     |                                             -
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tui.rs:832:50
[INFO] [stdout]     |
[INFO] [stdout] 832 | ...                       if let Some(p) = app.permission_prompt.take() {
[INFO] [stdout]     |                                       -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                       |    |
[INFO] [stdout]     |                                       |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                       |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                       `p` calls a custom destructor
[INFO] [stdout]     |                                       `p` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 835 | ...                   }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 843 | ...                       if let Some(p) = app.permission_prompt.take() {
[INFO] [stdout]     |                                       -
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tui.rs:843:50
[INFO] [stdout]     |
[INFO] [stdout] 832 | ...                       if let Some(p) = app.permission_prompt.take() {
[INFO] [stdout]     |                                       -
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `p` calls a custom destructor
[INFO] [stdout]     |                                       `p` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 843 | ...                       if let Some(p) = app.permission_prompt.take() {
[INFO] [stdout]     |                                       -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                       |    |
[INFO] [stdout]     |                                       |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                       |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 846 | ...                   }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/main.rs (10 fixes)
[INFO] [stderr]    Migrating examples/brownfield_smoke.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/measure_baseline.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/brownfield_abcc.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/oauth_smoke.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/forge_e2e.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 25s
[INFO] [stderr] crater-edition-check: claudette v0.14.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking claudette v0.14.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/runtime/prompt.rs:720:9
[INFO] [stdout]     |
[INFO] [stdout] 720 |         unsafe { std::env::set_var("HOME", &root) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/runtime/prompt.rs:722:9
[INFO] [stdout]     |
[INFO] [stdout] 722 |         unsafe { std::env::set_var("CLAUDE_CONFIG_HOME", root.join("missing-home")) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/runtime/prompt.rs:734:13
[INFO] [stdout]     |
[INFO] [stdout] 734 |             unsafe { std::env::set_var("HOME", value) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/runtime/prompt.rs:737:13
[INFO] [stdout]     |
[INFO] [stdout] 737 |             unsafe { std::env::remove_var("HOME") };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/runtime/prompt.rs:741:13
[INFO] [stdout]     |
[INFO] [stdout] 741 |             unsafe { std::env::set_var("CLAUDE_CONFIG_HOME", value) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/runtime/prompt.rs:744:13
[INFO] [stdout]     |
[INFO] [stdout] 744 |             unsafe { std::env::remove_var("CLAUDE_CONFIG_HOME") };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/api.rs:1775:9
[INFO] [stdout]      |
[INFO] [stdout] 1775 | /         unsafe { std::env::set_var(
[INFO] [stdout] 1776 | |             "OLLAMA_HOST",
[INFO] [stdout] 1777 | |             "http://definitely-not-a-real-host.invalid:11434",
[INFO] [stdout] 1778 | |         ) };
[INFO] [stdout]      | |___________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/api.rs:1780:9
[INFO] [stdout]      |
[INFO] [stdout] 1780 |         unsafe { std::env::set_var("CLAUDETTE_SKIP_OLLAMA_PROBE", "1") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/api.rs:1790:24
[INFO] [stdout]      |
[INFO] [stdout] 1790 |             Some(v) => unsafe { std::env::set_var("OLLAMA_HOST", v) },
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/api.rs:1792:21
[INFO] [stdout]      |
[INFO] [stdout] 1792 |             None => unsafe { std::env::remove_var("OLLAMA_HOST") },
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/api.rs:1796:24
[INFO] [stdout]      |
[INFO] [stdout] 1796 |             Some(v) => unsafe { std::env::set_var("CLAUDETTE_SKIP_OLLAMA_PROBE", v) },
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/api.rs:1798:21
[INFO] [stdout]      |
[INFO] [stdout] 1798 |             None => unsafe { std::env::remove_var("CLAUDETTE_SKIP_OLLAMA_PROBE") },
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/api.rs:2908:9
[INFO] [stdout]      |
[INFO] [stdout] 2908 |         unsafe { std::env::remove_var("CLAUDETTE_MAX_TOOLS") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/api.rs:2912:13
[INFO] [stdout]      |
[INFO] [stdout] 2912 |             unsafe { std::env::set_var("CLAUDETTE_MAX_TOOLS", v) };
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/api.rs:2920:9
[INFO] [stdout]      |
[INFO] [stdout] 2920 |         unsafe { std::env::set_var("CLAUDETTE_MAX_TOOLS", "0") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/api.rs:2924:24
[INFO] [stdout]      |
[INFO] [stdout] 2924 |             Some(v) => unsafe { std::env::set_var("CLAUDETTE_MAX_TOOLS", v) },
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/api.rs:2926:21
[INFO] [stdout]      |
[INFO] [stdout] 2926 |             None => unsafe { std::env::remove_var("CLAUDETTE_MAX_TOOLS") },
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/api.rs:2934:9
[INFO] [stdout]      |
[INFO] [stdout] 2934 |         unsafe { std::env::set_var("CLAUDETTE_MAX_TOOLS", "not-a-number") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/api.rs:2938:24
[INFO] [stdout]      |
[INFO] [stdout] 2938 |             Some(v) => unsafe { std::env::set_var("CLAUDETTE_MAX_TOOLS", v) },
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/api.rs:2940:21
[INFO] [stdout]      |
[INFO] [stdout] 2940 |             None => unsafe { std::env::remove_var("CLAUDETTE_MAX_TOOLS") },
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/egress.rs:234:24
[INFO] [stdout]     |
[INFO] [stdout] 234 |             Some(v) => unsafe { std::env::set_var(key, v) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/egress.rs:236:21
[INFO] [stdout]     |
[INFO] [stdout] 236 |             None => unsafe { std::env::remove_var(key) },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/egress.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         unsafe { std::env::remove_var(OFFLINE_ENV) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/egress.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |         unsafe { std::env::set_var(OFFLINE_ENV, "") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/egress.rs:254:9
[INFO] [stdout]     |
[INFO] [stdout] 254 |         unsafe { std::env::set_var(OFFLINE_ENV, "0") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/egress.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |         unsafe { std::env::set_var(OFFLINE_ENV, "1") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/egress.rs:262:9
[INFO] [stdout]     |
[INFO] [stdout] 262 |         unsafe { std::env::set_var(OFFLINE_ENV, "true") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/egress.rs:271:9
[INFO] [stdout]     |
[INFO] [stdout] 271 |         unsafe { std::env::set_var("OLLAMA_HOST", "http://localhost:11434") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/egress.rs:289:9
[INFO] [stdout]     |
[INFO] [stdout] 289 |         unsafe { std::env::set_var("OLLAMA_HOST", "http://localhost:11434") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/egress.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |         unsafe { std::env::set_var("OLLAMA_HOST", "http://192.168.1.50:11434") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/egress.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 339 |         unsafe { std::env::remove_var(OFFLINE_ENV) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/egress.rs:350:9
[INFO] [stdout]     |
[INFO] [stdout] 350 |         unsafe { std::env::set_var("OLLAMA_HOST", "http://localhost:11434") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/egress.rs:352:9
[INFO] [stdout]     |
[INFO] [stdout] 352 |         unsafe { std::env::set_var(OFFLINE_ENV, "1") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/egress.rs:383:9
[INFO] [stdout]     |
[INFO] [stdout] 383 |         unsafe { std::env::set_var("OLLAMA_HOST", "http://localhost:11434") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/egress.rs:391:9
[INFO] [stdout]     |
[INFO] [stdout] 391 |         unsafe { std::env::set_var("OLLAMA_HOST", "http://192.168.1.50:11434") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/forge/models_toml.rs:381:9
[INFO] [stdout]     |
[INFO] [stdout] 381 |         unsafe { std::env::set_var("CLAUDETTES_FORGE_ROUTER_MODEL", "env-router:2b") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/forge/models_toml.rs:384:9
[INFO] [stdout]     |
[INFO] [stdout] 384 |         unsafe { std::env::remove_var("CLAUDETTES_FORGE_ROUTER_MODEL") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/forge/models_toml.rs:397:9
[INFO] [stdout]     |
[INFO] [stdout] 397 |         unsafe { std::env::set_var("CLAUDETTES_FORGE_VERIFIER_MODEL", "verifier-env:7b") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/forge/models_toml.rs:399:9
[INFO] [stdout]     |
[INFO] [stdout] 399 |         unsafe { std::env::set_var("CLAUDETTES_FORGE_VERIFIER_PROVIDER", "anthropic") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/forge/models_toml.rs:402:9
[INFO] [stdout]     |
[INFO] [stdout] 402 |         unsafe { std::env::remove_var("CLAUDETTES_FORGE_VERIFIER_MODEL") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/forge/models_toml.rs:404:9
[INFO] [stdout]     |
[INFO] [stdout] 404 |         unsafe { std::env::remove_var("CLAUDETTES_FORGE_VERIFIER_PROVIDER") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/missions.rs:554:9
[INFO] [stdout]     |
[INFO] [stdout] 554 |         unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/missions.rs:566:13
[INFO] [stdout]     |
[INFO] [stdout] 566 |             unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", v) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/missions.rs:577:9
[INFO] [stdout]     |
[INFO] [stdout] 577 |         unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", &root) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/missions.rs:586:24
[INFO] [stdout]     |
[INFO] [stdout] 586 |             Some(v) => unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", v) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/missions.rs:588:21
[INFO] [stdout]     |
[INFO] [stdout] 588 |             None => unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/missions.rs:876:9
[INFO] [stdout]     |
[INFO] [stdout] 876 |         unsafe { std::env::set_var(key, &tmp) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/missions.rs:880:24
[INFO] [stdout]     |
[INFO] [stdout] 880 |             Some(v) => unsafe { std::env::set_var(key, v) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/missions.rs:882:21
[INFO] [stdout]     |
[INFO] [stdout] 882 |             None => unsafe { std::env::remove_var(key) },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/prompt.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |         unsafe { std::env::remove_var("CLAUDETTE_FACELESS") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/prompt.rs:479:9
[INFO] [stdout]     |
[INFO] [stdout] 479 |         unsafe { std::env::set_var("CLAUDETTE_FACELESS", "1") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/prompt.rs:482:9
[INFO] [stdout]     |
[INFO] [stdout] 482 |         unsafe { std::env::remove_var("CLAUDETTE_FACELESS") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/prompt.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 497 |         unsafe { std::env::remove_var("CLAUDETTE_FACELESS") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/prompt.rs:509:13
[INFO] [stdout]     |
[INFO] [stdout] 509 |             unsafe { std::env::set_var("CLAUDETTE_FACELESS", value) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/prompt.rs:517:13
[INFO] [stdout]     |
[INFO] [stdout] 517 |             unsafe { std::env::set_var("CLAUDETTE_FACELESS", value) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/prompt.rs:524:9
[INFO] [stdout]     |
[INFO] [stdout] 524 |         unsafe { std::env::remove_var("CLAUDETTE_FACELESS") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3087:9
[INFO] [stdout]      |
[INFO] [stdout] 3087 |         unsafe { std::env::set_var("CLAUDETTE_SESSION", &path) };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3094:24
[INFO] [stdout]      |
[INFO] [stdout] 3094 |             Some(v) => unsafe { std::env::set_var("CLAUDETTE_SESSION", v) },
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3096:21
[INFO] [stdout]      |
[INFO] [stdout] 3096 |             None => unsafe { std::env::remove_var("CLAUDETTE_SESSION") },
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3140:9
[INFO] [stdout]      |
[INFO] [stdout] 3140 |         unsafe { std::env::remove_var("CLAUDETTE_COMPACT_THRESHOLD") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3149:13
[INFO] [stdout]      |
[INFO] [stdout] 3149 |             unsafe { std::env::set_var("CLAUDETTE_COMPACT_THRESHOLD", v) };
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3158:9
[INFO] [stdout]      |
[INFO] [stdout] 3158 |         unsafe { std::env::set_var("CLAUDETTE_COMPACT_THRESHOLD", "12345") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3164:24
[INFO] [stdout]      |
[INFO] [stdout] 3164 |             Some(v) => unsafe { std::env::set_var("CLAUDETTE_COMPACT_THRESHOLD", v) },
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3166:21
[INFO] [stdout]      |
[INFO] [stdout] 3166 |             None => unsafe { std::env::remove_var("CLAUDETTE_COMPACT_THRESHOLD") },
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3175:9
[INFO] [stdout]      |
[INFO] [stdout] 3175 |         unsafe { std::env::set_var("CLAUDETTE_COMPACT_THRESHOLD", "not-a-number") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3184:24
[INFO] [stdout]      |
[INFO] [stdout] 3184 |             Some(v) => unsafe { std::env::set_var("CLAUDETTE_COMPACT_THRESHOLD", v) },
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3186:21
[INFO] [stdout]      |
[INFO] [stdout] 3186 |             None => unsafe { std::env::remove_var("CLAUDETTE_COMPACT_THRESHOLD") },
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3195:9
[INFO] [stdout]      |
[INFO] [stdout] 3195 |         unsafe { std::env::set_var("CLAUDETTE_COMPACT_THRESHOLD", "1000000") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3218:24
[INFO] [stdout]      |
[INFO] [stdout] 3218 |             Some(v) => unsafe { std::env::set_var("CLAUDETTE_COMPACT_THRESHOLD", v) },
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3220:21
[INFO] [stdout]      |
[INFO] [stdout] 3220 |             None => unsafe { std::env::remove_var("CLAUDETTE_COMPACT_THRESHOLD") },
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3230:9
[INFO] [stdout]      |
[INFO] [stdout] 3230 |         unsafe { std::env::set_var("CLAUDETTE_COMPACT_THRESHOLD", "10") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3264:24
[INFO] [stdout]      |
[INFO] [stdout] 3264 |             Some(v) => unsafe { std::env::set_var("CLAUDETTE_COMPACT_THRESHOLD", v) },
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3266:21
[INFO] [stdout]      |
[INFO] [stdout] 3266 |             None => unsafe { std::env::remove_var("CLAUDETTE_COMPACT_THRESHOLD") },
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3423:9
[INFO] [stdout]      |
[INFO] [stdout] 3423 |         unsafe { std::env::remove_var("CLAUDETTE_SOFT_COMPACT_THRESHOLD") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3429:13
[INFO] [stdout]      |
[INFO] [stdout] 3429 |             unsafe { std::env::set_var("CLAUDETTE_SOFT_COMPACT_THRESHOLD", v) };
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3438:9
[INFO] [stdout]      |
[INFO] [stdout] 3438 |         unsafe { std::env::set_var("CLAUDETTE_SOFT_COMPACT_THRESHOLD", "200000") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3444:24
[INFO] [stdout]      |
[INFO] [stdout] 3444 |             Some(v) => unsafe { std::env::set_var("CLAUDETTE_SOFT_COMPACT_THRESHOLD", v) },
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3446:21
[INFO] [stdout]      |
[INFO] [stdout] 3446 |             None => unsafe { std::env::remove_var("CLAUDETTE_SOFT_COMPACT_THRESHOLD") },
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3540:9
[INFO] [stdout]      |
[INFO] [stdout] 3540 |         unsafe { std::env::set_var("CLAUDETTE_SOFT_COMPACT_THRESHOLD", "0") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3546:24
[INFO] [stdout]      |
[INFO] [stdout] 3546 |             Some(v) => unsafe { std::env::set_var("CLAUDETTE_SOFT_COMPACT_THRESHOLD", v) },
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3548:21
[INFO] [stdout]      |
[INFO] [stdout] 3548 |             None => unsafe { std::env::remove_var("CLAUDETTE_SOFT_COMPACT_THRESHOLD") },
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3925:9
[INFO] [stdout]      |
[INFO] [stdout] 3925 |         unsafe { std::env::set_var("CLAUDETTE_FORGE_AUTO_APPROVE", "1") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3927:9
[INFO] [stdout]      |
[INFO] [stdout] 3927 |         unsafe { std::env::remove_var("CLAUDETTE_FORGE_NO_REVIEW") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3940:9
[INFO] [stdout]      |
[INFO] [stdout] 3940 |         unsafe { std::env::remove_var("CLAUDETTE_FORGE_AUTO_APPROVE") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3942:9
[INFO] [stdout]      |
[INFO] [stdout] 3942 |         unsafe { std::env::remove_var("CLAUDETTE_FORGE_NO_REVIEW") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3946:9
[INFO] [stdout]      |
[INFO] [stdout] 3946 |         unsafe { std::env::set_var("CLAUDETTE_FORGE_NO_REVIEW", "1") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3959:9
[INFO] [stdout]      |
[INFO] [stdout] 3959 |         unsafe { std::env::remove_var("CLAUDETTE_FORGE_NO_BUILD_CHECK") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3962:9
[INFO] [stdout]      |
[INFO] [stdout] 3962 |         unsafe { std::env::set_var("CLAUDETTE_FORGE_NO_BUILD_CHECK", "1") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3972:9
[INFO] [stdout]      |
[INFO] [stdout] 3972 |         unsafe { std::env::remove_var("CLAUDETTE_FORGE_TEST_TIMEOUT_SECS") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3975:9
[INFO] [stdout]      |
[INFO] [stdout] 3975 |         unsafe { std::env::set_var("CLAUDETTE_FORGE_TEST_TIMEOUT_SECS", "1") }; // below floor
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3978:9
[INFO] [stdout]      |
[INFO] [stdout] 3978 |         unsafe { std::env::set_var("CLAUDETTE_FORGE_TEST_TIMEOUT_SECS", "99999") }; // above ceiling
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3981:9
[INFO] [stdout]      |
[INFO] [stdout] 3981 |         unsafe { std::env::set_var("CLAUDETTE_FORGE_TEST_TIMEOUT_SECS", "300") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3984:9
[INFO] [stdout]      |
[INFO] [stdout] 3984 |         unsafe { std::env::set_var("CLAUDETTE_FORGE_TEST_TIMEOUT_SECS", "garbage") }; // unparseable → default
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3993:24
[INFO] [stdout]      |
[INFO] [stdout] 3993 |             Some(v) => unsafe { std::env::set_var(key, v) },
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/run.rs:3995:21
[INFO] [stdout]      |
[INFO] [stdout] 3995 |             None => unsafe { std::env::remove_var(key) },
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/secrets.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 |         unsafe { std::env::set_var(var_name, "test-token-value") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/secrets.rs:226:9
[INFO] [stdout]     |
[INFO] [stdout] 226 |         unsafe { std::env::remove_var(var_name) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/secrets.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         unsafe { std::env::set_var(var_name, "  spaced-token  \n") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/secrets.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         unsafe { std::env::remove_var(var_name) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/secrets.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |         unsafe { std::env::set_var(var_name, "   ") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/secrets.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |         unsafe { std::env::remove_var(var_name) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tools/file_ops.rs:471:24
[INFO] [stdout]     |
[INFO] [stdout] 471 |             Some(v) => unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", v) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tools/file_ops.rs:473:21
[INFO] [stdout]     |
[INFO] [stdout] 473 |             None => unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tools/file_ops.rs:478:24
[INFO] [stdout]     |
[INFO] [stdout] 478 |             Some(p) => unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", p) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tools/file_ops.rs:480:21
[INFO] [stdout]     |
[INFO] [stdout] 480 |             None => unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tools/file_ops.rs:493:13
[INFO] [stdout]     |
[INFO] [stdout] 493 |             unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tools/file_ops.rs:517:28
[INFO] [stdout]     |
[INFO] [stdout] 517 |                 Some(v) => unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", v) },
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tools/file_ops.rs:519:25
[INFO] [stdout]     |
[INFO] [stdout] 519 |                 None => unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") },
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tools/search.rs:806:9
[INFO] [stdout]     |
[INFO] [stdout] 806 |         unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tools/search.rs:811:9
[INFO] [stdout]     |
[INFO] [stdout] 811 |         unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", root) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tools/search.rs:817:24
[INFO] [stdout]     |
[INFO] [stdout] 817 |             Some(v) => unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", v) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tools/search.rs:819:21
[INFO] [stdout]     |
[INFO] [stdout] 819 |             None => unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1441:9
[INFO] [stdout]      |
[INFO] [stdout] 1441 |         unsafe { std::env::remove_var("CLAUDETTE_ALLOW_SECRET_READS") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1462:9
[INFO] [stdout]      |
[INFO] [stdout] 1462 |         unsafe { std::env::set_var("CLAUDETTE_ALLOW_SECRET_READS", "1") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1466:9
[INFO] [stdout]      |
[INFO] [stdout] 1466 |         unsafe { std::env::remove_var("CLAUDETTE_ALLOW_SECRET_READS") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1469:13
[INFO] [stdout]      |
[INFO] [stdout] 1469 |             unsafe { std::env::set_var("CLAUDETTE_ALLOW_SECRET_READS", v) };
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1482:9
[INFO] [stdout]      |
[INFO] [stdout] 1482 |         unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1488:13
[INFO] [stdout]      |
[INFO] [stdout] 1488 |             unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", v) };
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1521:9
[INFO] [stdout]      |
[INFO] [stdout] 1521 |         unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1527:9
[INFO] [stdout]      |
[INFO] [stdout] 1527 |         unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", root) };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1533:13
[INFO] [stdout]      |
[INFO] [stdout] 1533 |             unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", v) };
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1536:13
[INFO] [stdout]      |
[INFO] [stdout] 1536 |             unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") };
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1569:9
[INFO] [stdout]      |
[INFO] [stdout] 1569 |         unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1574:9
[INFO] [stdout]      |
[INFO] [stdout] 1574 |         unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", root) };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1580:13
[INFO] [stdout]      |
[INFO] [stdout] 1580 |             unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", v) };
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1583:13
[INFO] [stdout]      |
[INFO] [stdout] 1583 |             unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") };
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1615:9
[INFO] [stdout]      |
[INFO] [stdout] 1615 |         unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1619:9
[INFO] [stdout]      |
[INFO] [stdout] 1619 |         unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", root) };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1627:13
[INFO] [stdout]      |
[INFO] [stdout] 1627 |             unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", v) };
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1630:13
[INFO] [stdout]      |
[INFO] [stdout] 1630 |             unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") };
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1748:9
[INFO] [stdout]      |
[INFO] [stdout] 1748 |         unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", val) };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1753:24
[INFO] [stdout]      |
[INFO] [stdout] 1753 |             Some(v) => unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", v) },
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1755:21
[INFO] [stdout]      |
[INFO] [stdout] 1755 |             None => unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") },
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1765:9
[INFO] [stdout]      |
[INFO] [stdout] 1765 |         unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1769:13
[INFO] [stdout]      |
[INFO] [stdout] 1769 |             unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", v) };
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1858:9
[INFO] [stdout]      |
[INFO] [stdout] 1858 |         unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1862:13
[INFO] [stdout]      |
[INFO] [stdout] 1862 |             unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", v) };
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1881:9
[INFO] [stdout]      |
[INFO] [stdout] 1881 |         unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", synthetic) };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1885:24
[INFO] [stdout]      |
[INFO] [stdout] 1885 |             Some(v) => unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", v) },
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1887:21
[INFO] [stdout]      |
[INFO] [stdout] 1887 |             None => unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") },
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1910:9
[INFO] [stdout]      |
[INFO] [stdout] 1910 |         unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", &ws) };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1920:24
[INFO] [stdout]      |
[INFO] [stdout] 1920 |             Some(v) => unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", v) },
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/tools.rs:1922:21
[INFO] [stdout]      |
[INFO] [stdout] 1922 |             None => unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") },
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/transcript.rs:465:13
[INFO] [stdout]     |
[INFO] [stdout] 465 |             unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/transcript.rs:484:28
[INFO] [stdout]     |
[INFO] [stdout] 484 |                 Some(v) => unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", v) },
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/transcript.rs:486:25
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 None => unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") },
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/transcript.rs:520:13
[INFO] [stdout]     |
[INFO] [stdout] 520 |             unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", &ws) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/transcript.rs:533:28
[INFO] [stdout]     |
[INFO] [stdout] 533 |                 Some(v) => unsafe { std::env::set_var("CLAUDETTE_WORKSPACE", v) },
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/transcript.rs:535:25
[INFO] [stdout]     |
[INFO] [stdout] 535 |                 None => unsafe { std::env::remove_var("CLAUDETTE_WORKSPACE") },
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tts.rs:263:9
[INFO] [stdout]     |
[INFO] [stdout] 263 |         unsafe { std::env::remove_var("CLAUDETTE_TTS_MAX_CHARS") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/tts.rs:267:13
[INFO] [stdout]     |
[INFO] [stdout] 267 |             unsafe { std::env::set_var("CLAUDETTE_TTS_MAX_CHARS", v) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/voice.rs:350:9
[INFO] [stdout]     |
[INFO] [stdout] 350 |         unsafe { std::env::set_var("CLAUDETTE_WHISPER_MODEL", "/nonexistent/path/model.bin") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/voice.rs:358:13
[INFO] [stdout]     |
[INFO] [stdout] 358 |             unsafe { std::env::set_var("CLAUDETTE_WHISPER_MODEL", p) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/voice.rs:361:13
[INFO] [stdout]     |
[INFO] [stdout] 361 |             unsafe { std::env::remove_var("CLAUDETTE_WHISPER_MODEL") };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/lib.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     unsafe { std::env::set_var(key, &tmp) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/lib.rs:128:20
[INFO] [stdout]     |
[INFO] [stdout] 128 |         Some(v) => unsafe { std::env::set_var(key, v) },
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/lib.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |         None => unsafe { std::env::remove_var(key) },
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/main.rs:521:17
[INFO] [stdout]     |
[INFO] [stdout] 521 |                 unsafe { std::env::set_var("CLAUDETTE_FACELESS", "1") };
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/main.rs:528:17
[INFO] [stdout]     |
[INFO] [stdout] 528 |                 unsafe { std::env::set_var(claudette::egress::OFFLINE_ENV, "1") };
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/main.rs:521:17
[INFO] [stdout]     |
[INFO] [stdout] 521 |                 unsafe { std::env::set_var("CLAUDETTE_FACELESS", "1") };
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/main.rs:528:17
[INFO] [stdout]     |
[INFO] [stdout] 528 |                 unsafe { std::env::set_var(claudette::egress::OFFLINE_ENV, "1") };
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/main.rs:794:9
[INFO] [stdout]     |
[INFO] [stdout] 794 |         unsafe { std::env::remove_var("CLAUDETTE_TELEGRAM_CHAT") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/main.rs:798:13
[INFO] [stdout]     |
[INFO] [stdout] 798 |             unsafe { std::env::set_var("CLAUDETTE_TELEGRAM_CHAT", v) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/main.rs:851:9
[INFO] [stdout]     |
[INFO] [stdout] 851 |         unsafe { std::env::remove_var(claudette::egress::OFFLINE_ENV) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/main.rs:864:24
[INFO] [stdout]     |
[INFO] [stdout] 864 |             Some(v) => unsafe { std::env::set_var(claudette::egress::OFFLINE_ENV, v) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/main.rs:866:21
[INFO] [stdout]     |
[INFO] [stdout] 866 |             None => unsafe { std::env::remove_var(claudette::egress::OFFLINE_ENV) },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/main.rs:910:9
[INFO] [stdout]     |
[INFO] [stdout] 910 |         unsafe { std::env::set_var("CLAUDETTE_TELEGRAM_CHAT", "ANY") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/main.rs:916:24
[INFO] [stdout]     |
[INFO] [stdout] 916 |             Some(v) => unsafe { std::env::set_var("CLAUDETTE_TELEGRAM_CHAT", v) },
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/main.rs:918:21
[INFO] [stdout]     |
[INFO] [stdout] 918 |             None => unsafe { std::env::remove_var("CLAUDETTE_TELEGRAM_CHAT") },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `claudette` (bin "claudette") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `claudette` (bin "claudette" test) due to 10 previous errors
[INFO] [stderr] error: could not compile `claudette` (lib test) due to 157 previous errors
[INFO] running `Command { std: "docker" "inspect" "626c8034967250ff3d3043cdc81f650fd6cbbe71159ffa024d3abbfc7b899991", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "626c8034967250ff3d3043cdc81f650fd6cbbe71159ffa024d3abbfc7b899991", kill_on_drop: false }`
[INFO] [stdout] 626c8034967250ff3d3043cdc81f650fd6cbbe71159ffa024d3abbfc7b899991
